10. December: Exercism
I am fascinated by platforms where you can solve code and compete with other developers. There are some online platforms where you can solve tasks in many different programming languages and in different difficulty levels.
- CodinGame
- CodeSignal (former CodeFights.com)
- Codocado
- …and some more, I guess.
On these platforms you can register and solve more or less common programming tasks in different programming languages.
So far ABAP was not possible, because you needed an SAP-System to develop in ABAP. That makes it complicate to implement in a website.
Gladius
A few years ago, Stefan and I wanted to develop such a competition platform on an SAP-System. We named it Gladius. You can see how it works in these blog posts:
- Introducing GLADIUS: A Test Unit Framework
- GLADIUS – The Next Level
- My God, Amazing How We Got This Far – GLADIUS Secrets
- GLADIUS Is Getting Sharper
With GLADIUS you can define a task and necessary unit tests and let users solve the task in the class editor:
This journey into the insights of the ABAP unit tests was very valuable but some open questions are left. Building a complete platform where a teacher could define task, description, unit tests and exemptions was very hard and we didn’t complete this part.
Exercism
Then Lars Hvam enetered the scene and built a linter for ABAP and also an transpiler to transpile ABAP commands to javascript. This was the basic requirement to have ABAP in such a previously mentioned code fighting platform.
So now it is possible to program in Exercism using ABAP. You can subscribe to the ABAP track and choose from the more and more growing exercises.
Unfortunately, the editor does not provide syntax highlighting, code completetion and pretty print. The errors are also a little bit different to those you are familiar with from your current ABAP-IDE. I am confident, that these features will follow soon.
Enno Wulff
- 24. December: Merry Christmas - 24. Dezember 2024
- 23. December: ABAP Quine - 23. Dezember 2024
- 22. Decembe: Design Pattern - 22. Dezember 2024